#define _CRT_SECURE_NO_WARNINGS 1



//#include <stdio.h>
//
//int main()
//{
//	int n = 9;
//	//00000000000000000000000000001001
//	float* pFloat = (float*)&n;
//	
//	printf("n的值为：%d\n", n);//9
//	printf("*pFloat的值为：%f\n", *pFloat);//0.000000
//	//0 00000000 00000000000000000001001
//	//S E        M
//	//E在内存中是全0
//	//0 -126     0.00000000000000000001001
//	//(-1)^0 * 0.00000000000000000001001 * 2^-126
//	
//	*pFloat = 9.0;
//	//1001.0
//	///1.001 * 2^3
//	//(-1)^0 * 1.001 * 2^3
//	//S=0      M=1.001   E=3
//	//01000001000100000000000000000000
//	printf("num的值为：%d\n", n);//1091567616
//	printf("*pFloat的值为：%f\n", *pFloat);//9.000000
//
//	return 0;
//}




//int main()
//{
//	float f = 5.5;
//	//101.1
//	//1.011 * 2^2
//	//(-1)^0 * 1.011 * 2^2
//	//S = 0
//	//M = 1.011
//	//E = 2
//	//01000000101100000000000000000000
//	//0x40b00000
//	return 0;
//}




//#include <stdio.h>
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	//int arr[n];//变长数组
//	int arr[50] = { 0 };
//	//输入数据
//	int i = 0;
//
//	for (i = 0; i < n; i++)
//	{
//		scanf("%d", &arr[i]);
//	}
//	//判断是否有序
//	int flag1 = 0;//相邻2个元素满足升序 flag1 = 1
//	int flag2 = 0;//相邻2个元素满足降序 flag2 = 1
//
//	for (i = 0; i < n - 1; i++)
//	{
//		if (arr[i] < arr[i + 1])
//		{
//			flag1 = 1;
//		}
//		else if (arr[i] > arr[i + 1])
//		{
//			flag2 = 1;
//		}
//	}
//
//	if (2 == flag1 + flag2)
//	{
//		printf("unsorted\n");
//	}
//	else
//	{
//		printf("sorted\n");
//	}
//
//	return 0;
//}




//#include <stdio.h>
//
//int main()
//{
//	int n = 0;
//	scanf("%d", &n);
//	//int arr[n];//变长数组
//	int arr[50] = { 0 };
//	//输入数据
//	int i = 0;
//	//判断是否有序
//	int flag1 = 0;//相邻2个元素满足升序 flag1 = 1
//	int flag2 = 0;//相邻2个元素满足降序 flag2 = 1
//
//	for (i = 0; i < n; i++)
//	{
//		scanf("%d", &arr[i]);
//
//		if (i >= 1)
//		{
//			if (arr[i] < arr[i - 1])
//			{
//				flag2 = 1;
//			}
//			else if (arr[i] > arr[i - 1])
//			{
//				flag1 = 1;
//			}
//		}
//	}
//
//	if (2 == flag1 + flag2)
//	{
//		printf("unsorted\n");
//	}
//	else
//	{
//		printf("sorted\n");
//	}
//
//	return 0;
//}





//#include <stdio.h>
//
////平年
////1  2  3  4  5  6  7  8  9  10 11 12
////31 28 31 30 31 30 31 31 30 31 30 31
////   29
//
//int get_days_of_month(int y, int m)
//{
//	int d = 0;
//
//	switch (m)
//	{
//	case 1:
//	case 3:
//	case 5:
//	case 7:
//	case 8:
//	case 10:
//	case 12:
//		d = 31;
//		break;
//	case 4:
//	case 6:
//	case 9:
//	case 11:
//		d = 30;
//		break;
//	case 2:
//		d = 28;
//		
//		if ((0 == y % 4 && y % 100 != 0) || (0 == y % 400))
//		{
//			d += 1;
//		}
//
//		break;
//	}
//
//	return d;
//}
//
//int main()
//{
//	int y = 0;
//	int m = 0;
//
//	while (2 == scanf("%d %d", &y, &m))
//	{
//		int d = get_days_of_month(y, m);
//		printf("%d\n", d);
//	}
//
//	return 0;
//}




//#include <stdio.h>
//
////平年
////1  2  3  4  5  6  7  8  9  10 11 12
////31 28 31 30 31 30 31 31 30 31 30 31
////   29
//
//int get_days_of_month(int y, int m)
//{
//	int d = 0;
//	int days[] = { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
//	d = days[m];
//
//	if (((0 == y % 4 && y % 100 != 0) || (0 == y % 400)) && 2 == m)
//	{
//		d += 1;
//	}
//
//	return d;
//}
//
//int main()
//{
//	int y = 0;
//	int m = 0;
//
//	while (2 == scanf("%d %d", &y, &m))
//	{
//		int d = get_days_of_month(y, m);
//		printf("%d\n", d);
//	}
//
//	return 0;
//}



//#include <stdio.h>
//
//int main()
//{
//	float arr[] = { 3.14f, 99.9f, 66.5f, 0.0f };
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	float* p = arr;
//
//	for (i = 0; i < sz; i++)
//	{
//		printf("%.2f ", *p);
//		p++;
//	}
//
//	return 0;
//}



//#include <stdio.h>
//
//int main()
//{
//	float arr[] = { 3.14f, 99.9f, 66.5f, 0.0f };
//	int i = 0;
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	float* p = arr;
//
//	for (i = 0; i < sz; i++)
//	{
//		printf("%.2f ", *(p + i));
//	}
//
//	return 0;
//}



//#include <stdio.h>
//
//void print(float* p, int sz)
//{
//	float* q = p + sz;
//	
//	while (p < q)
//	{
//		printf("%.2f ", *p++);
//	}
//}
//
//int main()
//{
//	float arr[] = { 3.14f, 99.9f, 66.5f, 0.0f };
//	int sz = sizeof(arr) / sizeof(arr[0]);
//	print(arr, sz);
//
//	return 0;
//}




#include <stdio.h>
#include <string.h>

int main()
{
	char arr[10001] = { 0 };
	gets(arr);
	int len = strlen(arr);
	char* left = arr;
	char* right = arr + len - 1;

	while (left < right)
	{
		char tmp = *left;
		*left = *right;
		*right = tmp;
		left++;
		right--;
	}

	printf("%s\n", arr);

	return 0;
}